package com.shihan._01_multi_thread_basic.producer_consumer;

import java.util.concurrent.TimeUnit;

/**
 * @Description 生产者
 * @Author shihan
 * @Date 2021/8/10 7:44
 * @Version 1.0
 */
public class MyProducer implements Runnable {

    private MyQueue myQueue;

    public MyProducer(MyQueue myQueue) {
        this.myQueue = myQueue;
    }

    @Override
    public void run() {
        // 消费者端，就是无脑不停地生产（阻塞的控制，由资源类去处理）
        while (true) {
            try {
                // 间隔 0.5 秒 put 一次
                TimeUnit.MILLISECONDS.sleep(500);
                String putValue = System.currentTimeMillis() + "";
                myQueue.put(putValue);
                System.out.println("生产者：" + Thread.currentThread().getName() + "生产内容：" + putValue);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
